﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using ProgramaPuenteGoogle.App.BO;
using ProgramaPuenteGoogle.App.BO.Collections;
using ProgramaPuenteGoogle.App.DAL.FuncionarioDBTableAdapters;

namespace ProgramaPuenteGoogle.App.DAL
{
    public class BeneficioBD
    {

        public static BeneficioList GetLista()
        {
            BENEFICIOTableAdapter TAdapterBenef = new BENEFICIOTableAdapter();
            
            DataTable tabla = new DataTable();
            BeneficioList listaBeneficios = new BeneficioList();

            //se buscan todos los beneficios con getData() y se asignan a la tabla
            tabla = TAdapterBenef.GetData();

            int numeroBeneficios = tabla.Rows.Count;

            for (int i = 0; i < numeroBeneficios; i++)
            {
                Beneficio temp = new Beneficio();

                temp.Id = Int32.Parse(tabla.Rows[i][0].ToString());
                temp.Descripcion = tabla.Rows[i][1].ToString();
                temp.Tipo = tabla.Rows[i][2].ToString();
                temp.Dimension = tabla.Rows[i][3].ToString();
                temp.Minimo = tabla.Rows[i][4].ToString();
                temp.Unidad = tabla.Rows[i][5].ToString();

                listaBeneficios.Add(temp);
            }
            return listaBeneficios;

        }
    
        public static int Actualizar(Beneficio myBeneficio)
        {
            BENEFICIOTableAdapter TAdapterBenef = new BENEFICIOTableAdapter();
            TAdapterBenef.ActualizarBeneficio(myBeneficio.Descripcion.ToString(), myBeneficio.Tipo.ToString(),myBeneficio.Dimension.ToString(),myBeneficio.Minimo.ToString(),myBeneficio.Unidad.ToString(),myBeneficio.Id);
            int retorno = 1;
            return retorno;
        }

        public static int Insertar(Beneficio myBeneficio)
        {
            BENEFICIOTableAdapter TAdapterBenef = new BENEFICIOTableAdapter();
            TAdapterBenef.InsertarBeneficio(myBeneficio.Descripcion.ToString(), myBeneficio.Tipo.ToString(), myBeneficio.Dimension.ToString(), myBeneficio.Minimo.ToString(), myBeneficio.Unidad.ToString());
            int retorno = 1;
            return retorno;
        }
        
        public static int Eliminar(Beneficio myBeneficio)
        {
            BENEFICIOTableAdapter TAdapterBenef = new BENEFICIOTableAdapter();
            TAdapterBenef.EliminarBeneficio(myBeneficio.Id);
            int retorno = 1;
            return retorno;
        }
        
        public static Beneficio BuscarBeneficio(int idBeneficio)
        {
            BENEFICIOTableAdapter TAdapterBenef = new BENEFICIOTableAdapter();
            DataTable tabla = new DataTable();

            tabla = TAdapterBenef.BuscarBeneficio(idBeneficio);

            int numeroBeneficios = tabla.Rows.Count;

            Beneficio temp = null;
            if(numeroBeneficios > 0)
            {
                temp.Id = Int32.Parse(tabla.Rows[0][0].ToString());
                temp.Descripcion = tabla.Rows[0][1].ToString();
                temp.Tipo = tabla.Rows[0][2].ToString();
                temp.Dimension = tabla.Rows[0][3].ToString();
                temp.Minimo = tabla.Rows[0][4].ToString();
                temp.Unidad = tabla.Rows[0][5].ToString();
            }
            return temp;
        }
        /*
        public static Funcionario Login(String user, String pass)
        {
            Funcionario myFuncionario = null;

            using (SqlConnection myConnection = new SqlConnection(AppConfiguration.ConnectionString))
            {
                SqlCommand myCommand = new SqlCommand("strprcLogin", myConnection);
                myCommand.CommandType = CommandType.StoredProcedure;
                myCommand.Parameters.AddWithValue("@user", user);
                myCommand.Parameters.AddWithValue("@pass", pass);

                myConnection.Open();
                using (SqlDataReader myReader = myCommand.ExecuteReader())
                {
                    if (myReader.Read())
                    {
                        myFuncionario = FillDataRecord(myReader);
                    }
                    myReader.Close();
                }
                myConnection.Close();
            }
            return myFuncionario;
        }
         */
    }
}
